Skip to content

Climbable trapdoors if connected to a ladder.#1329

Open
hexagonny31 wants to merge 8 commits intosmartcmd:mainfrom
hexagonny31:main
Open

Climbable trapdoors if connected to a ladder.#1329
hexagonny31 wants to merge 8 commits intosmartcmd:mainfrom
hexagonny31:main

Conversation

@hexagonny31
Copy link
Contributor

@hexagonny31 hexagonny31 commented Mar 18, 2026

Description

A feature parity, when open trapdoors act as climbable ladders if they are placed directly above a ladder and against the wall.

Changes

Previous Behavior

Trapdoors has a thickness of 3 pixels while ladders have only 2. I hate this so much and in dire need to make my attic trapdoor to seamlessly be climbable.

2026-03-18.09-49-37.mp4

New Behavior

  • Added a new condition in LivingEntity::onLadder() in case it's a trapdoor, then return as true (as if its a ladder).
  • Ladders are now 1 pixel thicker.
2026-03-23.15-23-03.mp4

Files:

  • LivingEntity.cpp
  • LadderTile.cpp

Methods:

  • LivingEntity::onLadder()
  • LadderTile::setShape(int data)

AI Use Disclosure

No AI

### Previous Behavior
Trapdoors still has collision even if opened, making it difficult to climb with.

### New Behavior
- Added a new condition in `LivingEntity::onLadder()` in case it's a trapdoor, then return as true (as if its a ladder).
- If there's a ladder under the (opened) trapdoor, then its collision box returns as a nullptr.

**Files:**
- `LivingEntity.cpp`
- `TrapDoorTile.cpp`
**Methods:**
- `LivingEntity::onLadder()`
- `TrapDoorTile::getAABB(Level *level, int x, int y, int z)`
Made so that it avoids alternating use of ladders (or vines) and trapdoors.
Just incase if neighborChanged is modified.
The same result but neglecting the update tick could make weird effects.
Going full Java parity. Ngl, having a different collision box was a cool idea but probably best for implementing new tiles.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant